package de.jmda.core.mproc.task;

/**
 * A task can be used together with {@link AbstractTaskProcessor} to facilitate
 * the process of defining and running annotation processors without
 * compromising their general flexibility and power.
 * <p>
 * Task instances get injected into {@link AbstractTaskProcessor} instances so
 * that the processors can call {@link #execute()} (and return its return value
 * as return value for themselves.
 *
 * @author roger@jmda.de
 */
public interface Task
{
	boolean execute() throws TaskException;
}